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

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

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

Похожие темы научных работ по математике , автор научной работы — Диго Г. Б., Диго Н. Б.

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

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

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

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

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

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

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

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

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

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

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

Рассмотрим минимизацию многомерных алгоритмически заданных функций методами покрытий на примере метода половинных делений [8].

Пусть на л-мерном гиперпараллелепипеде Рс Кп алгоритмически задана многоэкстремальная функция Р(х), удовлетворяющая в области поиска условию Липшица с неизвестной константой Ь . Требуется решить задачу минимизации

р* = шт р(х), Р = {х е ^ : а < х < Ь} . (1)

хеР

В (1) векторное неравенство х<ъ означает, что х1 <г ,1 < / <п . Эта задача не имеет аналитического решения. Предположим, что существует оценка минимума целевой функции в области поиска. Обозначим X - множество решений задачи (1) и введем в рассмотрение множество ее е -оптимальных (приближенных) решений:

Хе = {х е Р : р(х) < р + е} . (2)

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

Для описания метода половинных делений введем в рассмотрение векторы а,Ь еК-П и порождаемые ими прямоугольные параллелепипеды р с гранями, параллельными координатным плоскостям:

Р = {х е Ип : а < х < Ь} . Тогда центр С параллелепипеда р и вектор его главной диагонали ^ определяются по формулам:

С = 1/ 2(а\ + Ь) , = Ь ~ а1, 1 < У < п . (3)

Обозначив

Ы = шах \Ы -аи , (4)

11 111“ 1<у<А ' ' I

будем считать, что предельный процесс для последовательности вложенных параллелепипедов

Р зР з... з Р з/;.+! з... при ^ О записывается в виде 11ш (...) . При этом Рю - предельная точка

И1! 1ад ^0

последовательности (4), а

^(Р) = ш1пр(х) . (5)

хеР

Метод половинных делений сводится к следующему. Строится некоторая последовательность Вш = Р Р2,..., Рт} параллелепипедов Р с Р, в центрах С которых вычисляются значения минимизируемой

функции Р(х) .

Следуя [8], обозначим через = {с, С2 ,...,Ст} последовательность этих центров, назовем

Кт = ш1п р(с.) текущим рекордом, а любую точку С е Nm , удовлетворяющую Кт = р(с) , - рекордной точкой

С еЫт

и положим х =С . Для каждого Р сР находится нижняя оценка значения КР), т.е. определяется некоторая функция В(Р) .

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

р(х1) -Р(х2^ < Ь|| х1 - х2| „ , (6)

полагаем

g(P) = р(с,.)-(Ь/2)|4||ю . (7)

Оценку неизвестной константы Ь из (6)-(7) можно получить несколькими способами [9]. Один из них будет изложен ниже.

Получив (7), свяжем с каждым параллелепипедом р набор ^ = (С) , где ^ - вектор его главной

диагонали (4), и для набора параллелепипедов Вт сформируем список Б = {^,,...,S } наборов ^ .

На начальном этапе работы алгоритма полагаем р = Р , N1 = {С1} , В(1) = {Р1} , задаем е> 0 и некоторую точку х0 е Р , вычисляем с, ^1 , рсД р(Хо) , = ш1п{р(с!),р(х0)}, g1 = g(P1) , полагаем Б1 = (С1А, gl) и

S(1) = {Sl} .

При Р(С1) = Кт полагаем х = С , а при р(х0) = -^(1) полагаем х = х0 . Если выполняется неравенств g1 > ^(1) — е , то найдено е -оптимальное решение задачи (1) в точке х е Xе . В противном случае процесс продолжается, и из текущего набора параллелепипедов В® выбирается такой р , для которого = ш1п gi

1</<т

, определяется номер X его наибольшего ребра, и делится пополам по 1 -ой координате, порождая два новых параллелепипеда р', Р" с центрами и главными диагоналями с',^ и с'',^' соответственно. После

этого вычисляется Я = и полагается к(*+1) =к, если Я < (за рекордную точку принимается х = с' при К = <р{ с') или х = с'' при К = <р(с") ), иначе К(*+1) = . Находятся величины g' = g(Pг) ,

g" = g (Р") , исключаются из В(к) параллелепипед р , из Б(к) - набор Б , и в Б(к) включаются два набора Б = ^' = (с',^,g,) и Б 2 = Б''= (c'',d'',g,,) . Из полученного списка ^}1</<т+1 исключаются те Б , для которых

gi >_^(к+1) — е , он перенумеровывается и обозначается Б(к+1) = ^}\^<р . Если обновленный список состоит только из одного элемента, то найдено е -оптимальное решение задачи (1), в противном случае полагается к = к +1 и процесс повторяется снова для текущего набора параллелепипедов В® .

При применении описанного выше алгоритма половинных делений для глобальной оптимизации алгоритмически заданной многомерной функции возникает ряд проблем, одна из которых - оценка неизвестной константы Липшица, необходимая для построения функции 8(Д) . Из предложенных в [9] вариантов выбрано адаптивное оценивание константы Липшица Ь при работе алгоритма в виде

К = К (к) = (г + С / к)шах(Я(к),%) , (8)

где Г > 1 , С >0 - коэффициенты надежности алгоритма, %> 0 - некоторая малая константа и Я(к) -

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

После выполнения к > 1 итераций алгоритма на (к +1)-ой итерации уточнение константы Липшица происходит по формуле

Х(к +1) = шах{1(£), шах (|р(х)-р(у)|/||х-у||)} . хуеР , у

На первом шаге алгоритма начальная оценка константы Ь равна Л(1) = |р(а) - Р(Ь)|/||а - Ь|| .

Найденное в (8) значение К = К (к +1) используется при вычислении 8(3) по формуле

g (Р ) = р(с, ) - (К/2)| 41 ю , полученной из (7) заменой Ь на К . Параметры Г, С и % из (8) подбираются

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

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

минимизации для (1). Если при очередном вычислении значения функции р(с ) уменьшается значение _К(к) , то ищется локальный минимум функции р на параллелепипеде Р с начальной точкой С . Результатом такого поиска является точка х, для которой р(х) <р(с*), и тогда Л = /(х),хг = х . Уменьшение _К(к) позволяет исключить из текущего набора В(к) большее число параллелепипедов р .

Сокращение временных затрат при применении метода половинных делений может происходить за счет

распараллеливания по данным. Исходный параллелепипед Р делится по одной из координат, например по первой, на 1 равных частей, где 1 - число доступных процессоров. На каждом из процессоров осуществляется поиск минимума по своему исходному параллелепипеду р('), у = 1,...,/ , затем результаты передаются одному из них, выбранному главным и осуществляющему окончательный выбор.

Работа поддержана грантом РФФИ 05-08-01398 и грантом ДВО РАН 06-П15-054 по программе №16 ОЭММПУ РАН.

ЛИТЕРАТУРА

1. Орлянская И.В. Современные подходы к построению методов глобальной оптимизации // Электронный журнал «Исследовано в России». http://zhurnal.ape.relarn.ru/articles/2 0 02/18 9.pdf.

2. Абрамов О.В., Катуева Я.В. Использование технологии параллельных вычислений в задачах анализа

и оптимизации // Проблемы управления. 2003. №4. С. 11-15.

3. Абрамов О.В., Диго Г.Б., Диго Н.Б., Катуева Я.В. Параллельные алгоритмы построения области работоспособности // Информатика и системы управления. 2004. №2(8). С. 121-133.

4. Катуева Я.В. Параллельные алгоритмы моделей параметрического синтеза для вычислительного комплекса МВС 1000/16 // Математическое моделтрование. 2004. Т. 16. №6. С. 18-22.

5. Батищев Д.И. Поисковые методы оптимального проектирования. М.: Советское радио, 1975.

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

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

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

9. Квасов Д.Е., Сергеев Я.Д. Многомерный алгоритм глобальной оптимизации на основе адаптивных

диагональных кривых // Журнал вычислительной математики и математической физики. - 2003. - Т. 43,

№1. - С. 42-59.

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