Обобщенный инверсный интервальный метод глобальной условной оптимизации

УДК 573.874

ОБОБЩЕННЫЙ ИНВЕРСНЫЙ ИНТЕРВАЛЬНЫЙ МЕТОД ГЛОБАЛЬНОЙ УСЛОВНОЙ ОПТИМИЗАЦИИ1

А.В. ПАНТЕЛЕЕВ, В.Н. ПАНОВСКИЙ

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

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

Введение

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

В качестве базового аппарата, составляющего основу работы алгоритмов, используется интервальный анализ [4-6]. Существующие интервальные методы оптимизации можно разделить на методы безусловной оптимизации (алгоритмы Мура-Скелбоу, Ичиды-Фуджи, Дюсселя, интервальный алгоритм «имитации отжига», метод случайного интервального дробления и др. [7-9]) и условной оптимизации (методы Хансена, Мура и др. [10; 11]).

Предлагаемый интервальный метод глобальной условной оптимизации в процессе поиска использует операцию инвертор [4] и имеет модульную структуру. В частных случаях задания модулей он совпадает с методом дихотомии прямого образа, методом отсечки и стохастической отсечки виртуальных значений [12; 13], которые относятся к группе методов дробления графика [9].

1. Используемые понятия и обозначения

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

([1;3]х[ 2;3]х ...х[10;11]).

Для произвольного интервала [х] определены: нижняя граница (обозначается как 1Ь ([х]) или [х] ) - [х] = 1Ь ([х]) = вир {Е е ^ ^ {-да, да} | У^ е [х], Е, < ; верхняя граница (обозначается как иЬ ([х]) или [х] ) - [х] = иЬ ([х]) = тГ {Е, е ^ ^ {-да, да} | У С е [х], С < Е}; ширина (обозначается как

1 Работа выполнена при финансовой поддержке РФФИ (проект № 12-08-00892-а).

ш ([ х]), определена только для непустого интервала - ш ([ х ]) = [ х ] - [ х ]; средняя точка (обозначается как mid ([х]), определена только для ограниченного и непустого интервала) -

.,/г тч [х] + Н d ([х])=

ть

2

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

Интервальной оболочкой множества X ^ Щ" называется параллелотоп с наименьшей шириной, который содержит X. Если множество берется в квадратные скобки, это значит, что рассматривается интервальная оболочка этого множества.

Пусть о - некоторая бинарная операция, тогда [х] о [у] = [{^ ° Е2| Е1 е[х], Е2 е[у]}|; пусть

I - некоторый унарный оператор, тогда / ([х]) = I (Е) | Е е [х]}] . Описанная бинарная операция позволяет определить арифметические операции над интервалами [4].

Множество интервалов обозначается как 1Щ, интервальных векторов - как 1Щ". Пусть имеется некоторая функция /, действующая из Щ" в Щ . Функция [/](•) называется интервальной

функцией включения для /, действующей из 1Щ" в 1Щ, если I([х]) = {I(Е) | Е е [х]} ^ [I]([х])х] е 1Щ". Функция включения позволяет получить априорную оценку множества значений функции, даже если оно не является выпуклым или связным (если вместо переменных используются интервалы и соответствующие арифметические операции, то полученная оценка называется оценкой прямого образа функции).

Инвертор Ш (I ,[8], [/], в) - функция, которая по заданному интервалу [/], функции I и параметру точности 8 находит в области поиска [л] множество параллелотопов Р 3' такое, что У[ х]еР справедливо: [ х]е[в] ,ш([ х])>в,[ I ]([х])^[/] или

[х]<=М, ш([ х])<в,[ I ]([ х])п[/]*0.

2. Алгоритм SIVIA

В качестве реализации инвертора можно использовать алгоритм 81У1Л [4].

Шаг 1. Задать функцию I, область поиска [8], интервал [/] и параметр точности в. Создать пустое множество параллелотопов Р и множество X = {[в]} .

Шаг 2. Для каждого параллелотопа [х]еХ найти [I]([х]). Проверить выполнение следующих условий (сам параллелотоп [ х] после проверки условий удаляется из X ):

a) если [ I ]([ х]) п [/] = 0, то параллелотоп [ х] не добавляется в множество Р;

b) если [I]([х])е[/] или[I]([х])п[/]*0,ш([х])<в, добавить параллелотоп [х] в множество Р;

c) в противном случае задать параллелотопы

[х]' = [х11х ([хк ]);[хк ] ]х•••х[х„] и [х]'' = [х1 ]г х...х| [хк];([хк])]х -х[хп], где к - номер компоненты параллелотопа [ х] с наибольшей шириной, и добавить их в множе-

ство X.

Шаг 3. Если X ^ 0, то перейти к шагу 2, в противном случае - к шагу 4. Шаг 4. Вернуть Р.

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

Пусть имеются некоторый параллелотоп [8] и заданная функция 7: Ш" ^ Ш . Задача интервальной в - оптимизации формулируется следующим образом: найти параллелотоп [р] , такой что [р]* с [,],*

4. Стратегия поиска решения

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

Задание параметр«« [ швертироваш ш, выпор операторов сжатия ir проверки

Построение оценки прямого образа функции

V Оператор

сжатия

Задание целевого интервала

Конец

true

—' V

false

1 [ро верка ширины

Оператор проверки

tine

К

Множество параллелотопов

false

Замена интервала

Рис. 1. Схема обобщенного детерминированного интервального метода

В качестве заменяемых модулей выступают операторы проверки и операторы сжатия:

• операторы проверки (результатом работы является статус проверки: удачный свидетельствует о том, что в множестве параллелотопов X есть параллелотоп [p], для которого выполнено ш([р])>в,[/]([p])ç[/] или œ([p])<e,[/]([p])n[/]^0):

o Original Invertor operator (OI - operator) - базовая проверка, использующаяся в методе дихотомии прямого образа;

o Original Invertor with Renewal operator (OIR - operator) - в дополнение к базовой проверке, после каждой успешной операции, множество параллелотопов заменяется на множество, выработанное инвертором;

o First True with Renewal operator (FTR - operator) - проверка до первого подходящего элемента, множество заменяется на множество, выработанное инвертором;

• операторы сжатия (результатом работы является сжатие оценки прямого образа функции на области поиска):

o Search Area Split operator (SAS - operator) - сжатие на основе разбиения области поиска;

o Random Point Sample operator (RPS - operator) - сжатие на основе значений функций в случайно сгенерированных интервальных векторах нулевой ширины.

5. Алгоритм

Шаг 1. Задать [s] - область поиска; в - параметр точности, отвечающий за размер параллелотопа во множестве Р, которое будет вырабатываться инвертором; Z - параметр точности

для остановки алгоритма. Выбрать оператор сжатия с параметром w или Л и оператор проверки с параметром w . Задать множество X = {[в]} .

Шаг 2. С помощью функции включения [I] найти оценку прямого образа [Т] функции I

на области поиска [в].

Шаг 3. Заменить полученную оценку [Т] интервалом Т , полученным с помощью

выбранного оператора сжатия с параметром w или Л .

Шаг 4. Дихотомически разделить интервал [Т] = [у{; уи ] на два интервала

" У, + Уи.

[Т ]=

У . -У/ + У и

и

м=

' Уи

Шаг 5. Проверить интервал [Тг ] выбранным оператором проверки. Шаг 6. Если проверка завершилась удачно, перейти к шагу 7, если нет - к шагу 8. Шаг 7. Если ш([Т])<Z, тогда найти P = INV(f,[s],[Т],s) и перейти к шагу 9. В противном случае положить интервал [Т], равным [Тг ], и перейти к шагу 4.

Шаг 8. Положить интервал [Т], равным [Ти ]. Если ш ([Т]) < Z, то найти

Р = INV (f, [s] ,[Т], s) и перейти к шагу 9. В противном случае перейти к шагу 4.

Шаг 9. Выбор параллелотопа.

Шаг 9.1. Положить i = 1, множество Ps = Р .

Шаг 9.2. Если ш([р] ) < s, где [p]i ePs, то перейти к шагу 9.4. Иначе перейти к шагу 9.3. Шаг 9.3. Добавить в множество Ps параллелотопы [p1 ]. х...х mid([pk].);[pk]. х...х[pn]. и [p1 ]х...х [pk].;mid([pk])Jx...х[pn]., где k - номер компоненты параллелотопа [р] с наибольшей шириной, удалить [р] из множества Ps.

Шаг 9.4. Увеличить i на единицу. Если i <|Ps|, где |-| - мощность множества, перейти к шагу 9.2. Иначе перейти к шагу 9.5.

Шаг 9.5. Для каждого [р]. ePs найти [ f ]([р].) и выбрать [р] = arg min [ f ]([р].).

6. Алгоритмы операторов проверки

На вход всех операторов проверки подается множество параллелотопов X, проверяемый интервал [/] и параметр ширины w . Алгоритм OI - оператора:

Шаг 1. Для каждого параллелотопа из множества X применить инвертор для интервала [/]

с параметром s = w, т.е. будет выработано множество множеств параллелотопов (Р. . Шаг 2. Если ЗР. ^ 0 , то проверка выполнена удачно. В противном случае - неудачно. Алгоритм OIR - оператора:

Шаг 1. Для каждого параллелотопа [x] из множества X применить инвертор для интервала [/] с параметром s = w . Таким образом, будет выработано множество множеств параллелотопов (р Й.

Шаг 2. Задать множество X = (JP, •

Шаг 3. Если X = 0, то проверка выполнена неудачно. В противном случае проверка завершена удачно, заменить X на X. Алгоритм FTR - оператора: Шаг 1. Положить i = 1. Задать множество X = X.

Шаг 2. Проверить выполнение следующих условий (сам параллелотоп [х] после проверки удаляется из множества X ):

- если [ f ] ([х] ) п [/] = 0 , то продолжить работу;

- если [f ]([х])<=[/] или [f ]([х]) п [/] ^ 0, ш ([х]. ) < s, то проверка завершена удачно;

- в случае невыполнения условий 1 и 2 задать параллелотопы [х] ' = [х1 ]. х... х mid ([xk ].) ;[xk ]. х... х [xn ].

и [х] '' = [ x1 ]х... х [ хк ]. ; mid ([ xk ])Jx ...х[ xn ]., где k - номер компоненты параллелотопа [ х] с

наибольшей шириной и добавить их в множество X .

Шаг 3. Если i < |х|, то увеличить i на единицу и перейти к шагу 2, если i = |х| - перейти к шагу 4.

Шаг 4. Заменить X на X, генерировать сообщение о том, что проверка завершена неудачно. 7. Алгоритмы операторов сжатия

На вход всех операторов сжатия подается параллелотоп [s]. Алгоритм SAS - оператора (для работы необходим параметр ширины w ):

Шаг 1. Задать

Y

.

ш

Шаг 2. Для каждой из компонент вектора [] найти наименьшее целое число п , такое что

(Ы) '

< w .

n

Шаг 3. Каждый из интервалов [] представить в виде объединения непересекающихся ин-

п N

тервалов ^ [s1i ^ . Таким образом, создается разбиение изначального параллелотопа [8] = ^ [в]^ ,

1=1 п

где N = П П .

к=1

Шаг 4. Найти

Y

-UI" 4

¿=i

результирующий сжатый интервал.

Алгоритм RPS - оператора (для работы необходимо число точек А ): Шаг 1. Создать А случайных точек ^ е [в],i = 1,..., А .

Шаг 2. Найти

Y

результирующий сжатый интервал.

8. Оценка качества решения

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

Теорема 1. Обобщенный инверсный метод позволяет найти решение задачи интервальной в -минимизации.

Доказательство. Вследствие того, что на шаге выбора (шаг 9) параллелотоп выбирается из множества Рв, его ширина никогда не превысит выбранного значения в (из-за способа построения множества Рв). На каждом цикле алгоритм изначально с помощью инвертора вырабатывает множество параллелотопов Р, в котором для любого параллелотопа [p] еР выполнено [р] — [s], ([р])*в и [f]([p]) —[Т,] или [p] —[s], ш([р])<в и [f]([p])n[Y,]*0, поэтому переход к анализу [YM ] свидетельствует о том, что множество Р пусто, т.е. V[x] — [s], ш([х])<в выполнено [f ]([p])е[Уи ]. Таким образом, в ходе каждого цикла алгоритма однозначно определяется интервал [ y ], такой что х] — [s], для которого выполнено [f ]([х])<[У]. Это исключает возможность существования такого параллелотопа [х] —[s], ш ([х]) > в, для которого [f ] ([х]) < [f ] ([p]*).

Теорема 2. Пусть x* = arg min f (x), [p] решение задачи интервальной в -минимизации

xe[s] ^ ^

обобщенным инверсным методом, тогда f (x*) е [ f ]([p] ) .

Доказательство. Необходимо показать, что для параллелотопа [p] одновременно выполняются два неравенства: f (x*)>[f]([p] ) и f (x*)<[f]([p] ). Докажем выполнение первого

неравенства. Пусть f (x*)<[f]([p] ), тогда 3[p] решение интервальной задачи интервальной в -минимизации, такое что f (x* )е[ f ]([p ]) . Тогда получаем: [ f ]([p ])<[ f ]([p] ) , что невозможно, так как [p] также является решением интервальной задачи интервальной в -минимизации и при этом = arg min f (I~p1 ). Таким образом, первое неравенство выполнено.

Докажем выполнение второго неравенства. Пусть / (х* )>[ / ]([р] ) , тогда [ / ]([р] ) = 0 ,

что невозможно, так как [р] ^ 0. Таким образом, второе неравенство выполнено. Так как оба неравенства выполнены, теорема доказана.

Следствие из теоремы 2. В параллелотопе [р] есть точка X, такая что

/ (х)-/(х- )Ц[ / ]([рГ)).

9. Программное обеспечение. Решение тестовых примеров

На основе изложенного алгоритма написана программа поиска условного глобального минимума обобщенным инверсным методом. Среда разработки - Microsoft Visual Studio, язык программирования - C#.

Алгоритм протестирован при минимизации следующих функций:

1. First function of De Jong: f (x,y) = x2 + y2, область поиска [-500;500]x[-500;500].

2. Rastrigin's function: f (x, y) = 20 + (x2-10-cos (2-п-x)) + (y2-10-cos (2-п-y)), область поиска [-5.12; 5.12] x [-5.12;5.12].

3. Schwefel's function: f ( x, y ) = - x-sin (^j\x| )-y-sin ), область поиска [-500;500]x[-500;500].

4. Easom's function: f ( x, y ) = -cos ( x )- cos ( y )- exp (-( x -rc)2 -( y -п)2 ), область поиска [-100;100]x[-100;100].

5. Ackley's function: f (x,y) = -20-exp

^02 Ix2 + У2 ^ f cos ( 2' п- x) + cos ( 2- п- y)^

V ^ 2 ; V 2 У

exp

+

+20 + e, область поиска [-32.768;32.768]х[-32.768;32.768].

6. Beal's function: f (x, ^) = (l.5 - x-(1 - y))2 +(2.25 - x-(l - y2))' +(2.625 - x-(l - y3))2, область поиска [-4.5;4.5]х[-4.5;4.5].

7. Rosenbrock's function: f (x, y) = (l - x)2 +100 -(y - x2 )2, область поиска [-5; 10]х[-5;10].

Таблица 1

Результаты работы

Функция/время работы Найденный параллелотоп Значение функции на параллелотопе Точное решение Минимальное значение

1/0,121 с [0;0.01]х[0;0.01] [0;0.0002] ( 0.0 )' 0

2/0,203 с [0;0.01]х[0;0.01] [0; 0.03967] ( 0,0 )т 0

3/27,702 c [420.967; 420.974] х х [420.967; 420.974] [-837.9797;-837.9518] ( 420.9687,420.9687 )T -837.9658

4/0,022 с [3.137;3.143]х х[3.137;3.143] [-1;-0.9999] (п, п)т -1

5/0,112 с [-0.008;0]х х[-0.008;0] [0; 0.0354] ( 0,0 )т 0

6/0,991 с [2.953;2.961]х х[0.483;0.492] [0; 0.0019] ( 3,0.5)т 0

7/0,814 с [0.998;1.005]x x[0.991;0.998] [0; 0.0362] (1,1 )T 0

Параметры алгоритма: s = Z = 0.01, оператор проверки - OI с параметром w = 0.01, оператор сжатия - SAS с параметром w = 50.

Заключение

Полученные результаты (табл. 1) свидетельствуют об эффективности разработанного алгоритма и иллюстрируют приведенные теоремы. Модульная структура обобщенного инверсного алгоритма позволяет проводить его тонкую и гибкую настройку в соответствии с имеющимися вычислительными ресурсами и особенностями задачи.

ЛИТЕРАТУРА

1. Пантелеев А.В., Летова Т.А. Методы оптимизации: практический курс. - М.: Логос, 2011.

2. Пантелеев А.В., Метлицкая Д.В., Алешина Е.А. Методы глобальной оптимизации // Метаэвристические стратегии и алгоритмы. - М.: Вузовская книга, 2013.

3. Пантелеев А.В. Применение эволюционных методов глобальной оптимизации в задачах оптимального управления детерминированными системами. - М.: МАИ, 2013.

4. Jaulin L., Kieffer M., Didrit O., Walter E. Applied interval analysis. - London: Springer-Verlag, 2001.

5. Moore R.E. Interval analysis. - Englewood Cliffs, Prentice Hall, 1966.

6. Шарый С.П. Конечномерный интервальный анализ. - Новосибирск: XYZ, 2010.

7. Ratschek H., Rokne J. New computer methods for global optimization. - Chichester: Horwood, 1988.

8. Shary S.P. Randomized algorithms in interval global optimization // Numerical Analysis and Applications, V. 1, 2008. - P. 376-389.

9. Shary S.P. A surprising approach in interval global optimization // Reliable Computing, 2001. - P. 497-505.

10. Hansen E. Global optimization using interval analysis. - New York: Marcel Dekker, 2004.

11. Moore R.E. Methods and applications of interval analysis. - Philadelphia: SIAM, 1979.

12. Пановский. В.Н. Применение аппарата интервального анализа для поиска глобального экстремума функций // Труды МАИ. - 2012. - № 51. [Электронный ресурс]. URL: http://www.mai. ru/science/trudy/ published.php?ID=28948.

13. Пановский В.Н. Интервальные алгоритмы нахождения оптимального программного управления детерминированными системами // Молодежь и будущее авиации и космонавтики: конкурс научно-технических работ и проектов (Москва, 30 октября 2012 г.). - М., 2012. - С. 155.

GENERALIZED INVERSE INTERVAL METHOD OF GLOBAL CONSTRAINED OPTIMIZATION

Panteleyev A.V., Panovskiy V.N.

The algorithmic and program software of inverse interval method for global constrained optimization are considered. The solution of model examples and the proof of the theorems of the algorithm's convergence are presented. The generalized scheme of developed algorithms has been created. This scheme has two replaceable modules of compression and check. This module approach allows the users to implement their own versions of the algorithm without loss of the method convergence. This will help to tune the method according to the characteristics of the current problem.

Key words: interval analysis, global constrained optimization, convergence, inverse interval method, software.

Сведения об авторах

Пантелеев Андрей Владимирович, 1955 г.р., окончил МГТУ им. Н.Э. Баумана (1978), профессор, доктор физико-математических наук, заведующий кафедрой математической кибернетики МАИ (Национального исследовательского университета), автор более 170 научных работ, область научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации.

Пановский Валентин Николаевич, 1992 г.р., окончил МАИ (2013), аспирант МАИ, автор 9 научных работ, область научных интересов - методы оптимизации, численные методы, эвристические алгоритмы.