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

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

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

Текст научной работы на тему «Поиск экстремума многомерной алгоритмически заданной функции на основе безызбыточного одноточечного алгоритма»

Диго Г.Б., Диго Н.Б. ПОИСК ЭКСТРЕМУМА МНОГОМЕРНОЙ АЛГОРИТМИЧЕСКИ ЗАДАННОЙ ФУНКЦИИ НА ОСНОВЕ БЕЗЫЗБЫТОЧНОГО ОДНОТОЧЕЧНОГО АЛГОРИТМА

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

Введение

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

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

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

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

Пусть на л-мерном параллелепипеде

р = {х е Ип : хт1п < х < хтах} , Р сКп , (1)

где хтт = Цтт — хптт) ' хтах _ (х1тах,',хптах) , а векторное неравенство х < ъ °значает, что Ху < ,1 < I <п , алгоритмически задана многоэкстремальная функция ф(х), удовлетворяющая в области

поиска условию Липшица с неизвестной константой Ь. Задача максимизации

фф = тахф(х) , (2)

хеР

не имеет аналитического решения.

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

Обычно для решения задачи, задаваемой выражением (1)-(2), используются итеративные алгоритмы, порождающие последовательность точек в соответствии с некоторым набором правил, содержащим и критерий окончания счета. Глобальный максимум выбирается среди всех найденных локальных решений.

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

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

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

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

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

Одноточечная безызбыточная стратегия разбиения

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

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

Щ = {х е Ы.п : а < х < Ь}, (3)

где а = Ц,'.',ап) , Ь = (Ь1,'",Ьп) .

На первом шаге, согласно схеме разбиения, приведенной в [1, 4], выбираем пробную точку

а = (а,'.', а-п) из Во. В ней вычисляем значение =Ф(а) функции Ф(х) и полагаем м = . Необходи-

мо отметить, что выбранная выше точка а = (а^,-'-, &п) является одной из вершин куба Во из (3).

На втором шаге Во разделяем двумя гиперплоскостями, ортогональными координатной оси Ху и проходящими через точки

u=(a, #2 ,■■■, af_\, a+2(ь _ a )/з, a+x,-; an), v = (b1,b2,■■■,ь_1;ц+2ц- _ь)/3,b.+1,■■■,bn), ,

где индекс i удовлетворяет условию

(4)

i = argminmax{|bj _ ay : 1 < j < n} . (5)

В результате Bo разбивается на три параллелепипеда В(1), В(2) , В(3) равного объема, В0

/=1

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

w(2) =Ф^) выбирается w = max{w ,w^^} . Точка v из (4) используется только для целей разбиения.

На каждой итерации, начиная со второй, из ячеек текущего разбиения ищется претендент на дальнейшее дробление на основе введенной для этого числовой характеристики Hj = H(B(i)) , позволяющей количественно оценивать возможность нахождения точки глобального максимума в рассматриваемой ячейке. Различные виды характеристики Hy предложены в [l]. В данном изложении она выбрана как

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

Вычислению значения целевой функции ф(x) в полученной на k-ом шаге ( к>2) вершине u предшествует проверка, использовалась ли она на предыдущих итерациях. Возможные варианты:

- такое значение уже было получено;

- значение в выбранной вершине не вычислялось.

В первом случае новое значение ф(^) не вычисляется и w не меняется, а во втором - вычисляется новое значение w^^ =ф^) и ищется максимальное w = max{w ,w^^} .

Описанный процесс адаптивного разбиения прекращается, когда для выбранной на текущем шаге ячейки и заданного 6> 0 выполняется неравенство

max \b- _a А <є . (б)

1< j <n j j\

*

Полученное к этому моменту значение w* принимается за искомое максимальное значение функции ф(^) в точке

x* = arg{w*} .

Если неравенство (б) не выполняется, то пересчитываются числовые характеристики Hi,

i = ^■■.^к) , где Q(k) - число ячеек после выполнения k-го шага алгоритма, полагается к = к +1 и

осуществляется переход к новой ячейке для последующего разбиения по числовой характеристике

H, = max H,- . (7)

к 1<i<Q(k) 1

Как и в случае применения безызбыточной технологии диагонального разбиения, используется индексация текущих ячеек [l, 3], позволяющая легко находить координаты вершин, в которых требуется

вычисление значений функции ф^).

Способ хранения поисковой информации

Связь между подъячейками текущего разбиения и полученными на предыдущих шагах ячейками, имеющими с ними общие грани [l, 3], описывается вектором соответствия

r(j)=(r1,r2,:;rn). (8)

В (В) r, 1 <i<n , - строка, состоящая из Пу +1 символов трехсимвольного алфавита {o,l,2}. Число

символов в наборе ni равно числу разбиений, сделанных ортогонально координатной оси xi для получения ячейки B(j) = B(r1;r2,■■■,rn) . В таких обозначениях исходная область поиска Bo описывается как

В(1) = В(0,0,■■■,0,0,0,■■■,0) , а все компоненты вектора r( j) из (В) представлены единственной цифрой О. Ячейки, составляющие Bo на втором шаге, имеют вид

В (2) = В (0,0, ' ' ' ,0,00,0, ' ' ' ,0), В (1) = В(0,0, ' ' ' ,0,01,0, ' ' ' ,0), В (3) = В (0,0, ' ' ' ,0,02,0, ' ' ' ,0),

и соответственно номера 2, 1, 3. Их вершины описываются выражениями В(2) : а(2) = (а^, а2, - - - , а-_[, а, а^р - - - , ап) ,

В(1) : а(1) = (а1,a2, - - - ,а--а) /3,аг-+1, - - - ,ап) ,

В(3) : а(3) = (a1,a2,''',а-_1,2(Ьу _ау)/3,ап) .

Для выполнения разбиения на следующем шаге выбирается ячейка с числовой характеристикой из (7) для Q(k) = 3 . Задаваемый выражением (8) вектор соответствия г( у) позволяет вычислять значение целевой функции в каждой конкретной вершине только один раз и обеспечивает его хранение в специальном массиве. При необходимости требуемые значения вместо повторных вычислений легко считываются

зби-

из этого массива.

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

п _1 _

3 у (кп. +1) + X 3 , айёо^аа1, 1 <г < М,

У=0

(9)

а пёо^-аа 2, 1 < г < М,

где к),к,''',кп ~\,кп■ - цифры, составляющие Гу ; случай 1 - число Гу содержит нечетное количество

г г

цифр 1; случай 2 - все остальные сочетания цифр.

Запись координат вершины а(р) в виде (9), позволяет описать к-ый шаг разбиения.

Ячейка В( р) разбивается на три равных подъячейки двумя гиперплоскостями, ортогональными координатной оси Ху и проходящими через точки и и V. Координаты этих точек задаются выражениями (4) при значении 1, определяемом из (5).

Полученные ячейки В(р(к+1)), ВШ) +1), В(в(к +1)), с учетом о(к+1)=а(к)+2, задаются своими вершинами

а(д(к) +1) = а(р(к)) , (10)

а(<2(к) + 2) = и , (11)

а(р(к +1)) = а(<2(к) + 2) = и . (12)

Новые ячейки, образованные на (к+1)-м шаге, с учетом формул (4)-(5) и (10)-(12), описываются формулами

В(б(к) +1) = Г2, ' ' ' , Гг■_1, к0к1 ' ' кп. _1кп ■ 0, Г'+1,' ' ' , Гп X

В( р(к +1)) = Г2, ' ' ' , Гг■_1, к0к1 ' ' кп. _1кщ1, Г+1,' ' ' , Гп X

В(0(к) + 2) = Г2, - - - , Гг._1,к0к1 - - _1к„.2, Гу +1, - - - , Гп ) -

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

Сокращение пространства поиска при стохастическом критерии оптимизации

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

В [4] уже исследовалось применение диагонального разбиения к задачам оптимального параметрического синтеза. По изложенному там алгоритму разбиение области поиска осуществлялось так, что одно

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

Заключение

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

а

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

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

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

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

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

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

Работа выполнена при частичной финансовой поддержке гранта ДВО РАН 0 9-I-n2-03 Программы № 2 фундаментальных исследований Президиума РАН.

ЛИТЕРАТУРА

1. Сергеев Я.Д., Квасов Д.Е. Диагональные методы глобальной оптимизации. - М.: ФИЗМАТЛИТ.

2008.

2. Sergeyev Ya.D. Efficient partition of N-dimensional intervals in the framework of one-point-based algorithms // Journal of Optimization Theory and Applications, 2005. V. 124. N 2, P.

503-510.

3. Sergeyev Ya.D. An efficient strategy for adaptive partition of N-dimensional intervals in the framework of diagonal algorithms // Journal of Optimization Theory and Applications, 2000. V.

107. N 1, P. 145-168.

4. Диго Г.Б., Диго Н.Б. Применение диагонального разбиения в задачах оптимального параметрического синтеза // Информатика и системы управления. 2008. №3(17). С. 83-90.

5. Абрамов О.В. Параметрический синтез стохастических систем с учетом требований надежности. -М.: Наука, 1992.

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