К вопросу об эффективности параллельных алгоритмов глобальной оптимизации функций многих переменных

ОБРАБОТКА ИЗОБРАЖЕНИЙ, РАСПОЗНАВАНИЕ ОБРАЗОВ

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

Коварцев А.Н., Попова -Коварцева ДА. Самарский государственный аэрокосмический университет имени академика С.П. Королёва

Аннотация

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

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

Введение

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

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

Ещё в 70-е годы прошлого века для многоэкстремальной задачи оптимизации к раз непрерывно дифференцируемой функции п переменных была получена нижняя оценка стохастической сложности [2]:

\ п / к

N(e) > c(n, k)\ 1

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

процессоров в кластере можно увеличить в лучшем случае линейно.

Теория алгоритмов допускает два способа повышения алгоритмической эффективности решаемой задачи:

1) существенно снизить требования по точности к формируемым решениям (искать квазиоптимальные решения);

2) несколько изменить исходную постановку задачи.

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

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

Без ограничения общности рассмотрим задачу глобальной оптимизации в следующей постановке:

f( x)  min,

xeDo

n

где D0 = Ä[0,1] - допустимое множество задачи оп-

i=1

тимизации (многомерный единичный гиперкуб), f () - многоэкстремальная функция цели. Обычно

f(x) является гладкой невыпуклой функцией, обладающей определёнными свойствами. Как и для большинства алгоритмов оптимизации, положим, что функция удовлетворяет условию Липшица с константой L, т.е. выполняется неравенство

Здесь и далее х = тах х\ .

II 11 ¥ . . . . I Л 1<л<п

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

2. Метод половинных делений Для метода половинных делений характерно непропорциональное деление области поиска на параллелепипеды меньшей размерности: единичный куб на две прямоугольные области, затем на четыре квадрата четвертной размерности и т.д. (рис. 1). В методе половинных делений в пространстве поиска формируется нерегулярная сетка испытаний исследуемой функции. При этом в зависимости от размерности пространства п по-разному изменяется шаг дискретизации. Например, для п=1 имеет место следующая последовательность деления шага дискретизации: 1/2; 1/4; 1/8; 1/16;...; для п = 2: 1/2; 1/4; 1/4;

1/8; 1/8;... и т.д.

1

(И * / /у /___^ - / / V ' / /X У У? у / / / / г ! /

✓ г г ✓ г ✓ \ /у/ / \/1 / / / г / / >

Рис. 1. Деление допустимого множества В процессе расчётов начальный параллелепипед Б0 делится на прямоугольные параллелепипеды Ц с центрами с1 и главными диагоналями (. Метод половинных делений [3] сводится к построению последовательности Вк = {Д, Б2,..., Бк} параллелепипедов Ц с Б0, причём значения функции вычисляются в соответствующей последовательности центров параллелепипедов N = {с1,с2,..., ск}. Для функций, удовлетворяющих условию Липшица, на каждом шаге алгоритма выбирается параллелепипед, для которого

= тт /(с,-)-(Ь/2)1

1<Кк

Используя условие Липшица, некоторые параллелепипеды исключаются из дальнейшего рассмотрения. Для остановки алгоритма можно использовать условие

N1 ¥<е.

Определим число обращений к функции до достижения заданного размера «измельчения» параллелепипеда (до заданного уровня точности по аргументу решения задачи оптимизации).

Пусть п = 1. Процесс половинных делений параллелепипедов формирует двоичное дерево, и в этом случае сложность алгоритма можно оценить величиной

Мт (1) = 2т -1, где т - высота бинарного дерева.

Для п = 2 уровни дерева делений будем группировать по длине шага дискретизации. Другими словами, на один уровень поставим все вершины, полученные в процессе делений, когда центры параллелепипедов предшественника и приемника отстоят друг от друга на одинаковом расстоянии Ьт.

Все вершины дерева делений на каждом уровне условно разобьём на две группы: внутренние и внешние (рис. 2), порождающие последующее деление параллелепипедов на следующем уровне.

0 1 Рис. 2. Шаблон дерева делений для п = 2

Несложно показать, что на т-м уровне дерева делений количество вершин распределяется следующим образом: Бт = Бту + Бт = 2 И-1 + 2т. Тогда общее число вершин, включая т-й уровень дерева, можно подсчитать по формуле

Ыт (2) = 2 + 23 +... + 2(2т-1) + 22 + 24 +... + 2т =

= 2 • 22(т-1) -1.

Для п = 3 шаблон дерева делений представлен на рис. 3. На втором шаге (Ь2 = 0,25) построения дерева делений, для параллелепипеда с центром с0 = (0,5; 0,5; 0,5) (рис. 3) шаблон дерева делений содержит 6 внутренних вершин и 8 внешних. Причём справедливо Б*^ = 6 • Бвтнут, Б^" = 8 Б™. Тогда общее число вершин, включая на т-й уровень, можно подсчитать по формуле

Ыт (3) = 6(80 + 81 +... + 8(т-1) + 81 + 82 +... + 8т =

= 2 • 23(т-1) -1.

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

точек вычисления функции. Для параллелепипедов т-го уровня дерева делений справедливо

rf, = 2h = 2/2m

учитывая условие остановки

(4), получаем 2m~ > 1/ 4e, тогда

N(n) = 2 • (\гГ-

Рис. 3. Шаблон дерева делений для n

3. Анализ сложности алгоритмов глобальной оптимизации

Если не делать специальных предположений о свойствах оптимизируемой функции, то из формул (5) и (6) следует вывод об экспоненциальном росте сложности задачи глобальной оптимизации. Например, при оптимизации непрерывной функции с точностью до е = 0,0078, оценки числа испытаний функции в зависимости от размерности задачи оптимизации представлены в табл. 1.

Таблица 1. Зависимость числа испытаний функции от размерности п

п 2 3 4 5 6

N(n) 2047 65535 2097151 67108863 2,147E+09

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

N(n) = ß-(a2n

где ß =

(a + 1)2n - 2

а a должно удовлетворять ус-

a2n -1

ловию a > 1/2n.

Если положить m = | log2 a , выражение (7) примет вид

N(n) = ß( 2n-m)m

-и\ m -1

-m i _ 1

или в зависимости от заданной точности -1.

N(n) = ß | ^

Из формулы (8) следует, что даже при очень благоприятных условиях, связанных либо со свойствами функции, либо эффективными алгоритмическими решениями, когда a равно 0,5 или даже 0,25, сложность задачи глобальной оптимизации остаётся экспоненциальной, но на несколько порядков ниже, чем для случая (6). Этот факт позволяет разрабатывать приемлемые по сложности алгоритмы распараллеливания задачи глобальной оптимизации для сравнительно небольших размерностей.

4. Метод редукции

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

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

min f

XЬ..., xn x1 x2 xn

Для n = 1 из (8) следует, что N(1) = ß-( 1/4e)1-m -1, тогда в многомерном случае справедливо

( , . ч 1-m )n

N(n) =

-1

-1,

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

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

Более того, при использовании информационно-статистического алгоритма глобальной оптимизации

Р.Г. Стронгина [4] функции одной переменной диапазон размерностей, допускающий распараллеливание, расширяется ещё больше. В данном случае эффективное «прореживание» области поиска реализуется не только за счёт использования условия Липшица, но и за счёт учёта плотности вероятностей, описытающей апостериорную информацию об оптимизируемой функции.

Таблица 2. Оценка эффективности задачи глобальной оптимизации

п 2 3 4 5 6

Л(п) для непрерывной функции 2047 65535 2097151 67108863 2,15Е+09

Л(п) липши-цевой функции, а=0,5 127 3412 102984 3215632 1,02Е+08

Л(п) метод редукции, а=0,75 862 14371 273379 5499292 1,14Е+08

Л(п) метод редукции, а=0,6 80 388 2163 12818 78622

5. Класс «хороших» функций

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

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

Определим класс «хороших» функций формально. К ним отнесём:

1. Функции, удовлетворяющие условию Липшица (2).

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

В принципе, такую функцию можно построить. Например, для этих целей, пригодна следующая функция:

м

{(х) = x фа (х), к=1

где фк ( х) = у к ехр(-

(X- Зк )2 20к

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

Пусть этап адаптации для алгоритма половинных делений продолжается до высоты дерева делений щ , т.е. до параллелепипедов диаметра , откуда

щ = 1оз21/ё { . Тогда на первом этапе будет произ-

Первый этап при небольших значениях щ1 может оказаться не слишком трудоёмким. На втором этапе работы алгоритма предположим, что в дереве делений реализуются только г веток, «привязанных^» к локальным минимумам, а остальные - «прореживаются». Высоту «прореженной» части дерева обозначим щ2 , тогда

т2 = т - щ = 1од21/4е — 1од21/2ё^ = log2 /2е, откуда И2 (п) = гт2 = г 1og2 с1г /2е . В итоге имеем

Ы(п) = 2(1/2^)п -1 + г 1og2 /2е

32

В таблице 3 приведены результаты оценок сложности задач глобальной оптимизации для «хорошей» функции в зависимости от п. Как и прежде, условием остановки работы алгоритма является достижение точности по аргументу е = 0,0078. Из таблицы видно, что для «хорошей» функции наблюдается ещё большее замедление экспоненциального роста сложности алгоритма половинных делений, но сложность по-прежнему экспоненциальная.

Таблица 3. Оценка эффективности задач глобальной оптимизации

п 2 3 4 5 6

«хорошая» функция, ф = 0,125, г = 20 91 187 571 2107 8251

«хорошая» функция, эксперимент 828 1409 2232 2410 4699

ведено

^(п) = 2(1/2^)п -1 испытаний функции.

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

Для оценки влияния локальной техники на эффективность алгоритмов глобальной оптимизации были произведены вычислительные эксперименты, сделанные на основе модифицированного алгоритма половинных делений для «хорошей» функции вида (11). Для локальной оптимизации использовался метод деформированных многогранников. В таблице 3 приведены результаты экспериментов.

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

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

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

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

Литература

1. Орлянская, И.В. Современные подходы к построению методов глобальной оптимизации / И.В. Орлянская И.В. // Электронный журнал «Исследовано в России», 2007. - С. 189-192: [web-сайт]

<http:// zhumal. ape.relarn. ru/articles/2002/ 189.pdf >

2. Немировский, А.С. Сложность задач и эффективность методов оптимизации / А.С. Немировский, Д.Б. Юдин - М.: Наука, 1979. - 384 с.

3. Евтушенко, Ю.Г.. Метод половинного деления для глобальной оптимизации функции многих переменных / Ю.Г. Евтушенко, В.А. Ратькин // Техническая кибернетика. - 1987. - № 1. - С. 119-127.

4. Стронгин, Р.Г. Поиск глобального оптимума / Р.Г. Стронгин. - М.: Знание, 1990. - 240 с.

5. Гришагин, В.А. Параллельный метод решения многомерных многоэкстремальных задач с невыпуклыми ограничениями / В.А. Гришагин, Я. Д. Сергеев // V международный научно-практический семинар «Высокопроизводительные параллельные вычисления на кластерных системах». - Н. Новгород, ННГУ. 2005. -

C. 74-82.

References

1. Orlyanskaya, IV. Current approaches to the development of methods of global optimization / I.V. Orlyanskaya // Electronic Journal "Investigated in Russia". - 2007. -P. 189-192: [web-site] http://zhurnal.ape.relarn.ru/articles/ 2002/189.pdf. - (in Russian).

2. Nemirovsky, A.S. Complexity of the tasks and the effectiveness of optimization methods / A.S. Nemirovsky,

D.B. Yudin. - Moscow: "Nauka" Publisher, 1979. -384 p. - (in Russian).

3. Yevtushenko, Y.G. Method of half division for global optimization of functions of many variables, Yevtushenko Y.G., Ratkin V.A. // Technical Cybernetics. - 1987. № 1. -P. 119-127. - (in Russian).

4. Strongin, R.G. Search of global optimum / R.G. Strongin. - Moscow: "Znanie" Publisher, 1990. - 240 p. - (in Russian).

5. Grishagin, V.A. A parallel method for solving multidimensional multiextremal problems with nonconvex limitations / V.A. Grishagin, Ya.D. Sergeyev // V international scientific-practical seminar «High performance parallel computing on cluster systems». Nigniy Novgorod, "Nig-niy Novgorod State University" Publisher. 2005. - P. 7482. - (in Russian).

ON EFFICIENCY OF PARALLEL ALGORITHMS FOR GLOBAL OPTIMIZATION OF FUNCTIONS OF SEVERAL VARIABLES

A.N. Kovartsev, D.A. Popova-Kovartseva Samara State Aerospace University

Abstract

We consider the problem of constructing efficient parallel algorithms for global optimization. The results are of given the qualitative analysis of the possibility of overcoming the exponential growth of global optimization problems for functions of general form, using the commonly used algorithmic techniques to accelerate convergence (Lipschitz conditions, reduction, local technique). Shown that the construction of efficient algorithms for global optimization, for the dimensions of 100 or more variables, is possible for specific problems, taking into account the specific characteristics of the function being optimized. The class of "good" functions is shown, as an example.

Key words: global optimization, smooth function, parallel algorithms, analysis of algorithms.

Сведения об авторах Коварцев Александр Николаевич, 1952 года рождения. В 1975 году окончил Куйбышевский авиационный институт (ныне - Самарский государственный аэрокосмический университет имени академика С.П. Королёва) по специальности «Прикладная математика». Доктор технических наук (2000 год), профессор, работает заведующим кафедрой программных систем СГАУ. Директор школы информатики СГАУ. Коварцев А.Н. -специалист в области автоматизации проектирования, разработки и тестирования сложных программных средств; надёжности программного обеспечения; моделирования параллельных вычислений и глобальной оптимизации. Имеет более 80 научных публикаций.

Alexander Nikolaevich Kovartsev (b. 1952) graduated with honour (1975) from the S.P. Korolyov Kuibyshev Aviation Institute (presently, S. P. Korolyov Samara State Aerospace

University (SSAU)), majoring in Applied Mathematics. He received his Doctor of Engineering (2000) degrees from Samara State Aerospace University. Professor, chair of SSAU's sub-department software systems SSAU. Director of the School of Computer SSAU. His current research interests include computer-aided design, development and testing of complex software; simulation of parallel computing and global optimization. He has more than 80 scientific publications.

Попова-Коварцева Дарья Александрова, 1984 года рождения. В 2007 году с отличием окончила Самарский государственный аэрокосмический университет имени академика С.П. Королёва по специальности «Автоматизированные системы обработки информации и управления». В настоящее время - аспирант кафедры программных систем. Область научных интересов: автоматизации программирования, системный анализ.

Daria Alexandrovna Popova-Kovartseva, born in 1984. In 2007 she graduated from S.P. Korolyov Samara State Aerospace University (SSAU), majoring in computing sience. At present time - post-graduate student of the sub-department software systems SSAU. Research interests: automated programming, systems analysis.

Поступила в редакцию 29 марта 2011 г.