УДК 519.85 + 517.977.58 ББК 22.18 + 22.19
РАЗРАБОТКА ИНТЕРВАЛЬНЫХ МЕТАЭВРИСТИЧЕСКИХ МЕТОДОВ МИНИМИЗАЦИИ ДЛЯ ПОИСКА ОПТИМАЛЬНОГО ПРОГРАММНОГО УПРАВЛЕНИЯ1
Пантелеев А. В.2, Пановский В. Н.3
(Московский авиационный институт, Москва)
Разработаны алгоритмическое и программное обеспечение метаэвристических интервальных методов глобальной условной оптимизации (усредненных концов путей, стохастической сетки, разбросанного поиска) и методика их применения для решения задачи поиска оптимального программного управления нелинейными детерминированными системами. Приведено решение прикладной задачи трехмерного сближения с маневрирующим объектом, проведен сравнительный анализ эффективности.
Ключевые слова: интервальные методы, метаэвристические методы, глобальная условная оптимизация, оптимальное управление.
1. Введение
В современной математике достаточно большое внимание уделяется решению задач глобальной оптимизации, которые возникают, например, в ходе выбора наилучших параметров конструкций самолетов, вертолетов, космических аппаратов
1 Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов №16-31-00115 мола, №16-07-00419 А.
2 Андрей Владимирович Пантелеев, доктор физико-математических наук, профессор (avpanteleev@inbox.ru).
3 Валентин Николаевич Пановский, аспирант (panovskiy.v@yandex.ru).
(веса, дальности полета, аэродинамических характеристик). Существующие численные методы используют разнообразные подходы, но их использование связано с большими вычислительными затратами, излишними требованиями к постановке задачи, трудностями в достижении сходимости метода [9, 12].
В статье предлагаются новые методы поиска глобального условного экстремума функций многих переменных, использующие аппарат интервального анализа [8, 10, 11, 13]. Существующие интервальные методы оптимизации можно разделить на методы безусловной оптимизации (алгоритмы Мура-Скелбоу, Ичиды-Фуджи, Дюсселя, интервальный алгоритм «имитации отжига», метод случайного интервального дробления и др. [15-17]) и условной оптимизации (методы Хансена, Мура и др.
[11, 14]).
Предлагаемые интервальные методы глобальной условной оптимизации относятся к классу метаэвристических методов. Метаэвристическим алгоритмом называют алгоритм, не имеющий строгого обоснования, но, тем не менее, позволяющий найти приемлемое решение задачи в большинстве практически значимых случаев. Он не гарантирует нахождения лучшего решения, не гарантирует нахождения решения, даже если оно существует («проскакивание решения»). Однако существенным достоинством таких алгоритмов является их низкая вычислительная сложность, что позволяет их применять для решения задач повышенной трудности, не накладывая существенных ограничений на элементы постановок задач (дифференцируе-мость, выпуклость, ограниченность и т.д.). При этом необходимые и достаточные условия экстремума [4] в алгоритмах не используются. Метаэвристические методы объединяют в себе один или несколько эвристических методов (процедур), опирающихся на стратегию более высокого уровня.
Существующие численные методы поиска оптимального управления включают в себя достаточно большое количество методов, которые используют принцип максимума Понтрягина и уравнение Беллмана, а также прямые методы, например, градиентные методы (методы первого порядка), методы второго порядка, основывающиеся на тейлоровской аппроксимации
функции Кротова-Беллмана, разнооборазные методы улучшения и др. [1, 7]
Несмотря на большое количество проведенных исследований, проблема численного решения нелинейных задач оптимального управления остается актуальной и требующей разработки новых подходов, к которым относится применение интервального анализа совместно с метаэвристическими стратегиями [2-6]. Предлагаемые в статье методы дают возможность нахождения глобального экстремума критерия оптимальности для достаточного широкого класса задач.
2. Используемые понятия и обозначения
Основной идеей интервального анализа является окружение вещественных чисел интервалами, а вещественных векторов -интервальными векторами, или параллелотопами [10]. Для обозначения интервала используются строчные латинские буквы, заключенные в квадратные скобки ([о], [Ь], [с],...) или привычное представление ([ог; о„], [Ьг; Ь„], [с; с„], ...), где указывается нижняя и верхняя границы. Для задания параллелотопа применяется то же обозначение с полужирным начертанием
букв ([х] = [Х1] x ... x [ХП]).
Для произвольного интервала [х] определены: нижняя граница
/й([х]) = [х] = зир^ е № и {-оо,оо} | УС е [х]: < С}, верхняя граница
иЪ ([х]) = [х] = М {£, е М11 {-оо,оо} | УС, е [х]: С, < , ширина непустого интервала <»([ х]) = [ х]-[х],
средняя точка ограниченного и непустого интервала [х ]+[х ]
т1ё ([ х]):
2
Те же параметры определены и для параллелотопов. Нижняя, верхняя границы и средняя точка становятся векторами,
ширина же рассчитывается как максимум из ширин всех образующих параллелотоп компонентов.
Интервальной оболочкой множества X с К" называется параллелотоп с наименьшей шириной, который содержит X. Если множество берется в квадратные скобки, это значит, что рассматривается интервальная оболочка этого множества.
Пусть о - некоторая бинарная операция, тогда [х] о [у] = [{^о ^2 | ^е[х], ^2е[у]}]. Пусть /- некоторый унарный оператор, тогда/([х]) = [{Д£) | £е[х]}]. Описанная бинарная операция позволяет определить арифметические операции над интервалами [10].
Множество интервалов обозначается как Ж, интервальных векторов - Ж" . Пусть имеется некоторая функция/^ действующая из К" в К. Функция [/](•) называется интервальной функцией включения для /, действующей из Ж" в Ж, если {Д£)|£,е [х]} с [/]([х]), \/[х]еШ". Функция включения позволяет получить априорную оценку множества значений функции, даже если оно не является выпуклым или связным (если вместо переменных используются интервалы и соответствующие арифметические операции, то полученная оценка называется оценкой прямого образа функции).
3. Постановка интервальной задачи е-минимизации
Классическая постановка задачи условной оптимизации имеет вид: пусть имеются параллелотоп [в], задающий множество допустимых решений, и целевая функция /: К" —> Ж . Требуется найти точку х* такую что
[8]: / (/)< / (х).
Приведем интервальный аналог поставленной задачи: пусть имеются параллелотоп [в], задающий множество допустимых решений, целевая функция /: К" —>Ж , малое число £ > 0. Требуется найти параллелотоп [р]*, такой что
(2) [р]* ^ [»],ш ([Р]*) < е,*[х] е [■],ш ([х]) > е,[/]([х]) < [/]([р]*) .
4. Стратегии интервальных метаэвристических методов глобальной условной оптимизации
4.1. МЕТОД УСРЕДНЕННЫХ КОНЦОВ ПУТЕЙ
В основе метода лежат следующие процедуры:
• построение случайной сетки на области поиска (представляет собой разбиение целевого параллелотопа [8] на множество
{[п] непересекающихся параллелотопов, таких что
N
М = и Ю;
¿=1
• выбор случайного параллелотопа из сетки;
• поиск пути (последовательности параллелотопов, в которой каждый следующий параллелотоп имеет общую гиперплоскость с предыдущим) до «оптимального» решения по сетке;
• полученный в ходе выполнения описанных процедур «перспективный» параллелотоп запоминается.
Процедуры повторяются несколько раз. Из полученных параллелотопов берутся их средние точки, на основе которых строится новый целевой параллелотоп (он рассматривается как усредненный из «перспективных» параллелотопов, являющихся концами последовательностей, полученных в результате поиска, начинающегося с некоторого параллелотопа, принадлежащего построенной сетке), к которому снова применяется метод. Так повторяется до тех пор, пока ширина целевого параллелотопа не будет удовлетворять условию точности.
4.2. МЕТОД СТОХАСТИЧЕСКОЙ СЕТКИ
Стратегия данного метода заключается в построении на целевом параллелотопе сетки (множества непересекающихся параллелотопов, объединение которых дает искомый целевой параллелотоп) случайным образом. Далее для некоторых элементов сетки ищется оценка прямого образа функции, выбирается наиболее «перспективный» параллелотоп (с наименьшим
значением нижней грани оценки прямого образа). Такая процедура повторяется несколько раз. Средние точки выбранных параллелотопов определяют новый параллелотоп, к которому снова применяется алгоритм. Так повторяется до тех пор, пока ширина целевого параллелотопа не будет удовлетворять условию точности.
4.3. МЕТОД ИНТЕРВАЛЬНОГО РАЗБРОСАННОГО ПОИСКА
В основе точечного метода разбросанного поиска (scatter search) лежит обработка множества элементарных исходов, состоящих из найденных на предыдущем этапе «перспективных» решений. Фактически обработка заключается в комбинации, улучшении и обновлении множества элементарных исходов. В основе интервального метода лежат пять методов: метод генерации разнообразных решений, методы конструирования и обновления множества элементарных исходов, метод генерации подмножеств, метод комбинации решений, метод улучшения решений.
Процедура повторяется до тех пор, пока ширина целевого параллелотопа не будет удовлетворять условию точности.
5. Алгоритмы интервальных метаэвристических методов глобальной условной оптимизации
5.1. МЕТОД УСРЕДНЕННЫХ КОНЦОВ ПУТЕЙ
Шаг 1. Задать [s] - область поиска; е - параметр точности (отвечает за ширину итогового параллелотопа); w - «скорость» уменьшения параллелотопа; pamount - количество точек для построения случайной сетки; pattempts - количество повторений; rmax - максимальное количество возвращений (используется во время поиска пути до «оптимального» решения). Положить целевой параллелотоп [t] = [s].
Шаг 2. Если «([t]) < е, то закончить работу алгоритма, вернув параллелотоп [t]. В противном случае положить множество концов путей (последний элемент в последовательности параллелотопов, представляющей путь) E = 0 и перейти к шагу 3.
Шаг 3. Случайным образом, используя равномерный закон распределения, выбрать в целевом параллелотопе рошоим точек.
Шаг 4. Разбить целевой параллелотоп относительно выбранных на шаге 3 точек на множество параллелотопов (так как любой параллелотоп является п-мерным параллелепипедом (п - размерность задачи), то разбиение можно делать следующим образом: в каждой точке строятся п гиперплоскостей, каждая из которых параллельна одной паре сторон данного параллелепипеда; совокупность этих гиперплоскостей порождает сетку на параллелотопе).
Шаг 5. Из полученной сетки выбрать случайный параллелотоп [р].
Шаг 6. Процедура поиска пути от параллелотопа [р] к «оптимальному» параллелотопу (путь - последовательность параллелотопов ] I™!, таких, что все параллелотопы ^]г+1,
1 = 1, ..., ш - 1, граничат, т.е. имеют общую гиперплоскость):
Шаг 6.1. Из параллелотопов сетки сформировать множество параллелотопов М = ([п] }-=1, граничащих с параллелотопом [р]. Поместить в список параллелотопов, образующих путь, начальный элемент (Р = {[р]}) и задать количество возвращений
Шаг 6.2. Если г < Гшох, то перейти к шагу 6.3. В противном случае перейти к шагу 6.6.
Шаг 6.3. Выбрать случайный параллелотоп [п] еЖ, удалить его из N. Если
то перейти к шагу 6.4. В противном случае перейти к шагу 6.5.
Шаг 6.4. Если [п] еР, то положить г = г + 1 и перейти к шагу 6.2. В противном случае добавить [п] в Р. Положить [р] = [п] и вернуться к шагу 6.1.
Шаг 6.5. Если NФ 0 , то перейти к шагу 6.3, в противном случае перейти к шагу 6.6.
Шаг 6.6. Параллелотоп [р] добавить в множество концов путей Е. Переход к шагу 7.
г = 0.
Шаг 7. Если в множестве E содержится pattempts элементов, то перейти к шагу 8. В противном случае перейти к шагу 3. Шаг 8. Найти вектор
1 Pattempts . .
— ^ midi [e] J, где [e], е E .
m = -
-г attempts i=1
Заменить параллелотоп [t] на параллелотоп
УУ J УУ J
m---wid, m н---wid
1 2 1 2
x... x
ww
m„---wid, m„ н---wid
n 2 2
n[t]=
где wid = «([t]). Перейти к шагу 2.
5.2. МЕТОД СТОХАСТИЧЕСКОЙ СЕТКИ
Шаг 1. Задать [8] - область поиска; е - параметр точности (отвечает за ширину итогового параллелотопа); w - «скорость» уменьшения параллелотопа; pamount - количество гиперплоскостей для построения случайной сетки; pattempts - количество повторений; panalyze - количество анализируемых параллелотопов. Положить целевой параллелотоп [1] = [8].
Шаг 2. Если «([1]) < е, то закончить работу алгоритма, вернув параллелотоп [1]. В противном случае положить множество выбранных параллелотопов E = 0 и перейти к шагу 3.
Шаг 3. Случайным образом, используя равномерный закон распределения, выбрать в целевом параллелотопе pamount точек.
Шаг 4. Разбить целевой параллелотоп относительно выбранных на шаге 3 точек на множество параллелотопов В = {[Ь];}'=1. Так как любой параллелотоп является «-мерным
параллелепипедом (« - размерность задачи), то разбиение можно реализовать следующим образом: в каждой точке строится гиперплоскость, параллельная одной (случайно выбранной) паре сторон данного параллелепипеда; совокупность этих гиперплоскостей порождает разбиение исходного параллелотопа. В полученном множестве следует удалять случайно выбранные параллелотопы до тех пор, пока количество элементов не станет равным panalyze. В результате получится стохастическая сетка.
Шаг 5. Из полученной сетки выбрать параллелотоп
[p]= Arg min [f ]([b];)
и добавить его в множество E.
Шаг 6. Если в множестве E содержится pattempts элементов, то перейти к шагу 7. В противном случае перейти к шагу 3. Шаг 7. Найти вектор
1 Pattempts
m =- ^ mid([e] ), где [e], е Е .
Pattempts i=1
Заменить параллелотоп [t] на параллелотоп
w w
m---wid, m л---wid
1 2 1 2
:... x
w w
m„---wid, m л---wid
n 2 2
n[t],
где wid = «([t]). Перейти к шагу 2.
5.3. МЕТОД ИНТЕРВАЛЬНОГО РАЗБРОСАННОГО ПОИСКА
Шаг 1. Задать [s] - область поиска; е - параметр точности (отвечает за ширину итогового параллелотопа); rgm, rmc, rcs, rim е (0;1) - доли для генерации; psize, rssize, subsize - размеры множеств Р, RS, SUB соответственно; maxm - количество точек для улучшения; о - величину влияния ширины.
Шаг 2. Метод генерации разнообразных решений. Сформировать множество P из psize параллелотопов [mi - «i; mi + «i] x ... x [mi - «i; mi + «i] П [s], где величина Wk = 0,5 • rgm • w([s]), mk - случайная точка на отрезке, соответствующем k-й компоненте параллелотопа [s]. Отсортировать множество P по возрастанию величины [ f ]([р]г-), где [р]геР.
Шаг 3. Метод конструирования множества элементарных исходов. Сформировать множество RS из [rrsc • psize] (здесь [•] означает целую часть от числа) первых элементов множества Р. Выбранные элементы удалить из P. Создать множество
fsize I'rsc г size J
I пе^-ще ] / \ I
О= X Ч^м)\
где йш([о], [6]) - метрика Хаусдорфа [10], [г8]уeRS. Упорядочить множество О расстояний между параллелотопом [р], (оставшимся после удаления) и параллелотопами [г8] eRS по убыва-
нию. В множество RS добавить (rssize - [rrsc ■ psize]) параллелотопов из P, которым соответствуют первые (наибольшие) значения из D (добавляются наиболее удаленные параллелотопы от имеющихся в RS для поддержания разнообразия).
Шаг 4. Отсортировать множество RS элементарных исходов по возрастанию величины [ f ]([rs]), где [rs]ieRS.
Шаг 5. Если «([rs]1) > е, то перейти к шагу 6. В противном случае закончить работу алгоритма, вернув параллелотоп [rs]1.
Шаг 6. Метод генерации подмножеств. Создать множество SUB, состоящее из всех подмножеств размера subsize множества RS.
Шаг 7. Создать множество комбинированных решений
CS = 0 .
Шаг 8. Метод комбинации решений. Для каждого подмножества
subi = {[s]j е RS, j = 1,...,subslze }е SUB
выполнить: составить вектор
mw = I min a
J=1,..., subsize
([si]j),...,j=Ä.a([s-]j)),
Su&size
создать параллелотоп |u |' = [J |s, сгенерировать n случайных
j=i
точек |pn e [u ] j . Построить n параллелотопов
{[p\ - ; p\ + ] X... X [pk - 0)n; pkn + a>„ ] П [u J
на сгенерированных точках, где cok = 0,5 • rcsmwlk, и добавить их в множество CS.
Шаг 9. Создать множество улучшенных решений IS = 0 . Шаг 10. Метод улучшения решений. Для каждого из параллелотопов [cs]- e CS сгенерировать случайным образом множество {pk = (p\,...,pkn)T e[cs]}mXm точек. Выбрать точку p* = Arg min f (pn) . Добавить в множество IS параллелотоп
k=l,...,max;„,
+ ®1]х...х[/>*-ю„;р1 +®„]П[с8]. , где величина
Ш] = 0,5 • Гт • «([с5;]г).
Шаг 11. Метод обновления множества элементарных исходов. Для каждого параллелотопа ^в] eIS, если есть такое число для которого выполнено соотношение
[ У ]([Ц)N У ]([»] у)у),
то вставить перед ]-м параллелотопом в множестве RS параллелотоп рз]г и последний элемент множества RS удалить. Шаг 12. Вернуться к шагу 5.
6. Поиск оптимального программного управления непрерывными системами
6.1. ПОСТАНОВКА ЗАДАЧИ
Поведение модели объекта управления описывается дифференциальным уравнением
(3) ¿(г) = /(г,х(г),ы(г)),
где / - непрерывное время, / е 7 = | 1„: !\ | - заданный промежуток времени функционирования системы; хеК" - вектор состояния системы; и е [и] с К9 - вектор управления; [II] - множество допустимых значений управления, представляющее собой параллелотоп; Дг, х, и) = (/1((, х, и), ...,/п(г, х, ы))Т - непрерывная вектор-функция.
Начальное состояние задано и равно
(4) х (^ ) = х0.
Конечное состояние х(^) должно удовлетворять условиям
(5) Гг (х(^ )) = 0, / = 1.....1,
где 0 < I < п, функции Г(х) - непрерывно дифференцируемы; система векторов {ЭГг(х)/Эх1, ..., ЭГг(х)/Эх„}, 7 = 1,...,/, линейно независима VI е 1".
При управлении используется информация только о времени г (применяется программное управление).
Множество допустимых процессов ^(¿0, Х0) определяется как множество пар й = (х(-), и(-)), включающих кусочно-дифференцируемую траекторию х() и кусочно-непрерывное управление и(^), где и (*)е[и]У* е Т, удовлетворяющих уравнению состояния (3), условиям (4) и (5).
На множестве допустимых процессов определен функционал качества управления ч
(6) I (С) = } /0 (*, X (*), и (*))С + ^ (X )) ,
*0
где /'(г, х, и), Дх) - заданные непрерывные функции.
Требуется найти пару й* = (х*(-), и* (•)) Х0), на которой
достигается минимальное значение функционала (6) на множестве допустимых процессов.
6.2. СТРАТЕГИЯ ПОИСКА РЕШЕНИЯ
Основным элементом предлагаемой стратегии является последовательное сведение поставленной задачи к соответствующей задаче нелинейного программирования, а затем - к задаче интервальной е-минимизации и решение последней с помощью разработанных интервальных методов.
Для более простого вычисления интегрального члена в критерии (6) к системе (3) добавляется уравнение хй+1(0 = /°(г,х(г),м(г)) с начальным условием х„+1(^0) = 0, тогда значение функционала качества (6) определяется выражением 1 = Х„+! (*1 ) + ^(X()) .
Для сведения к задаче со свободным правым концом траектории к терминальному члену функционала добавляются либо классические штрафные функции, характеризующие степень выполнения условий (5), либо их интервальный аналог вида
(7) ([гг (х(*!));Гг (х(*))],[Чг;]),
г=1
где
^ ([а],[й]) = [шт(^ ([а],[й]),^ ([а],[й])),тах(^ ([а],[й]),([а],[*]))]
- метрика Хаусдорфа;
^ ([а],[Ь]) = ^{г | [а] ^ [Ь] + [-г;г],г > 0}
- мера близости интервалов; Я, - величины штрафов;
> 0 - величины допустимой погрешности выполнения конечного условия, которые задаются пользователем.
Искомое субоптимальное программное управление предлагается искать в двух различных классах функций: кусочно -постоянных и кусочно-линейных.
Поскольку ищется наилучшее управление в каждом из классов, не совпадающих с классом кусочно-непрерывных функций, то найденное управление является субоптимальным, рассматриваемым в качестве кандидата в решение задачи.
Так как при решении задачи применяется интервальный подход, то каждому из описанных управлений сопоставляется интервальный аналог, задаваемый интервальным вектором:
• кусочно-постоянное интервальное управление (рис. 1, а); для управления такого типа необходимо задать значения функции и(0 в N моментах времени т = ^ + (¿1 - ¿о) •1 / N 1 = 0, ..., N - 1, т.е. управлению можно однозначно сопоставить интервальный вектор [и] = [м1(г0)]х...х|д(г0^ х ...х
х [м1(^_1)]х...х[м9(г^_1)]; соответствующее интервальное управ'-V-'
ление будет находиться по формуле
[и ](*)е[и (*,-)] = [« (*,■);и Ы] , г,.< * <^+1, / = 0,..., N -1;
• кусочно-линейное интервальное управление (рис. 1, б); для управления такого типа необходимо задать дополнительное значение управления и(0 на последнем временном интервале, поэтому интервальный вектор, который ставится в соответствие управлению, имеет вид
[и] = [,(го)]х..,Ь(го)] х...х [«!(^)]х...х[и9(^)]; СООТВеТСТВу-
^М] [МЫ]
ющее интервальное управление будет находиться по формуле
-[и (тт)] +{и (тм )], т, < г <тм, 1=0,..., N-1.
б)
Рис. 1. Замена кусочно-непрерывного управления интервальным кусочно-постоянным («а») и кусочно-линейным («б»)
Интервальной траекторией называется решение уравнения (3) с начальным условием (4), соответствующее заданному интервальному управлению.
Если система (3), описывающая поведение модели объекта управления, нежесткая, для ее численного интегрирования применяются явные методы (методы Эйлера, Эйлера-Коши, методы Рунге-Кутты различных порядков и др.). Если же система (3) жесткая, применяются неявные методы численного интегрирования (неявный метод Эйлера, метод трапеций, Адам-са-Моултона, Гира и др.). Вычисление правых частей системы (3) производится по правилам интервальной арифметики [10].
Заметим, что описанные процедуры могут быть использованы при других способах параметризации управления, напри-
мер, кусочно-полиномиальном или применении разложений по системам ортонормированных базисных функций
7. Программное обеспечение. Решение прикладного примера
На основе изложенных алгоритмов сформирован комплекс программ поиска оптимального программного управления. Среда разработки - Microsoft Visual Studio, язык программирования - C#.
В качестве примера рассмотрим решение задачи преследования в трехмерном пространстве, рассмотренной в [18].
Поведение модели объекта управления описывается системой дифференциальных уравнений:
х(() = Ух((),Ух(() = их((),х{(() = Ух(((),Ух((() = их{((),
(8) y(t)=Vy (t),vy (t)=uy 0t),y' (t)=v; (t),v; (t)=«; (t),
z(t) = Vz (t),Vz (t) = uz (t),é< (t) = Vz (t),Vj (t) = и/ (t),
где r = (x, y, z)T и r = (x*, y*, Z)T - радиус-векторы, описывающие положение перехватчика и цели соответственно; V = (Vx, Vy, VZ)T и V* = (Vj,Vy ,VZ )T - векторы скоростей перехватчика и цели
соответственно; u = (ux, Uy, uz)T и u* = (uj,uy ,uz )T - векторы
ускорения перехватчика (управление) и цели соответственно.
Пусть цель движется с постоянным ускорением: U = (-1, -2, 0,1)T м/с2, начальное положение цели: Г = (500, -600, 500)T м, скорость цели: V = (100, 100, 10)T м/с, начальное положение перехватчика: r = (0, 0, 0)T м, начальная скорость перехватчика: V = (150, 40, 5)T м/с.
Время, за которое должен быть осуществлен перехват (координаты цели и перехватчика совпадают): t\ = 50 с.
Тогда можно задать функционал качества управления:
I = (X (*1 ) - х* (*1 ))2 + (y (*1 ) - y* (*1 ))2 + (z (*1 ) - z* (*1 ))2. Для сглаживания искомого интервального управления в функционал добавим слагаемое
ч
М = 0,001 • \(и2 (t) + и2у (t) + и] (t))dt.
о
В результате решается задача минимизации функционала I + AI.
В качестве метода дискретизации были выбраны явная и неявная схемы Эйлера, область поиска
[s] = [-2;2]x х[-2;2]
ш
(для кусочно-постоянного управления) и
[s] = [-2;2]x...x[-2;2]
4-V-'
3-(ЛГ+1)
(для кусочно-линейного управления), N = 2.
Параметры метода усредненных концов путей: s = 0,001;
w 0,5; Pamount 75; Pattempts 5; rmax 5.
Параметры метода стохастической сетки: s = 0,001; w = 0,9;
Pamount = 100 ; PattemPts = 100 ; panalyze 1000.
Параметры метода интервального разбросанного поиска: s = 0,001; rgm = 0,8; rrsc = 0,25; rCs = 0,9; ггт = 0,9; pslZe = 100; rssize = 10; subsize = 2; maxim = 1000; о = 2500.
На рис. 3 и 4 приведены графики траекторий цели и перехватчика, полученные с помощью интервальных кусочно-постоянных и кусочно-линейных управлений. Их сравнение с рис. 2 показывает близость результатов с найденными при использовании алгоритма пропорциональной навигации [18].
Рис. 2. График движения цели и перехватчика (при использовании алгоритма пропорциональной навигации [18])
О 5 13 15 20 25 30 35 40 45 50 -1000 О
Рис. 3. Графики движения цели и перехватчика, законов изменения управления, найденные методами усредненных концов путей, стохастической сетки и интервального разбросанного поиска (кусочно-постоянное управление)
В таблице 1 и 3 приведены интервалы значений критерия оптимальности, найденные в результате применения соответствующего метода интервальной минимизации в каждом из двух рассматриваемых классов управлений.
Таблица 1. Значение функционала качества управления (кусочно-постоянное управление)_
Название метода Значение функционала качества
Явная схема Эйлера Неявная схема Эйлера
Метод усредненных концов путей [0,0377; 0,0378] [0,0371; 0,0372]
Метод стохастической сетки [0,0359; 0,0360] [0,0354; 0,0355]
Метод интервального разбросанного поиска [0,0445; 0,0446] [0,0437; 0,0438]
Таблица 2. Максимальные значения отклонения цели и перехватчика (кусочно-постоянное управление)
Название метода Значение Ах; Ау; Дг
Явная схема Эйлера Неявная схема Эйлера
Метод усредненных концов путей 0,1040; 0,0501; 0,0401 0,1035; 0,04993; 0,0409
Метод стохастической сетки 0,0632; 0,0735; 0,0053 0,0631; 0,0733; 0,0051
Метод интервального разбросанного поиска 0,0910; 0,0912; 0,0317 0,0908; 0,091; 0,0315
В таблицах 2, 4 величины отклонений вычисляются как
Ах = max|x(/1) - X (/1 )|, Ay = max |У(h)-У (tx)|, Az = max|z(^) -Z (4 )|.
Полученные данные о максимальных значениях отклонения являются приемлемыми с практической точки зрения и свидетельствуют об успешности применения разработанных алгоритмов. Наиболее точным оказался метод стохастической сетки, кусочно-линейное управление (таблица 3, 4) предпочтительнее по величине функционала, чем кусочно-постоянное (таблица 1, 2).
а)
б)
в)
Рис. 4. Графики движения цели и перехватчика, законов изменения управления, найденные методами усредненных концов путей, стохастической сетки и интервального разбросанного поиска (кусочно-линейное управление)
Таблица 3. Значение функционала качества управления (кусочно-линейное управление)
Название метода Значение функционала качества
Явная схема Эйлера Неявная схема Эйлера
Метод усредненных концов путей [0,0347; 0,0348] [0,0343; 0,0344]
Метод стохастической сетки [0,0341; 0,0341] [0,0340; 0,0341]
Название метода Значение функционала качества
Явная схема Эйлера Неявная схема Эйлера
Метод интервального разбросанного поиска [0,0345; 0,0346] [0,0339; 0,0340]
Таблица 4. Максимальные значения отклонения цели и перехватчика (кусочно-линейное управление)_
Название метода Значение Дх; Ду; Дz
Явная схема Эйлера Неявная схема Эйлера
Метод усредненных концов путей 0,0607; 0,0698; 0,0060 0,0609; 0,0697; 0,00055
Метод стохастической сетки 0,0636; 0,0431; 0,0353 0,0632; 0,043; 0,0035
Метод интервального разбросанного поиска 0,0432; 0,0935; 0,0053 0,0431; 0,0932; 0,0051
8. Заключение
Разработаны алгоритмическое и программное обеспечение трех метаэвристических интервальных методов оптимизации: усредненных концов путей, стохастической сетки и разбросанного поиска. Поставлена задача интервальной е-оптимизации, к которой была сведена задача поиска оптимального программного управления нелинейными непрерывными детерминированными системами. Решена прикладная задача преследования в трехмерном пространстве. Анализ полученных результатов свидетельствует об эффективности предложенных методов.
Литература
1. ГУРМАН В.И., РАСИНА И.В., БЛИНОВ А О. Эволюция и перспективы приближенных методов оптимального управления // Программные системы: теория и приложения. -2001. - №2(6). - С. 11-29.
2. ПАНОВСКИЙ В.Н. Прикладное применение интервального метода взрывов // Электронный журнал «Труды МАИ». -
2014. - №73. - [Электронный ресурс] - URL: http://www.mai.ru/science/trudy/published.php?ID=48451 (дата обращения: 19.03.2016.)
3. ПАНОВСКИЙ В.Н. Применение аппарата интервального анализа для поиска глобального экстремума функций // Электронный журнал «Труды МАИ». - 2012. - №51. -[Электронный ресурс] - URL: http://www.mai.ru/ science/trudy/published.php?ID=28948 (дата обращения: 19.03.2016.)
4. ПАНТЕЛЕЕВ А.В. Вариационное исчисление в примерах и задачах.- М.: Высшая школа, 2006. - 272 с.
5. ПАНТЕЛЕЕВ А.В., МЕТЛИЦКАЯ Д.В., АЛЕШИНА Е.А.
Методы глобальной оптимизации. Метаэвристические стратегии и алгоритмы. - М.: Вузовская книга, 2013. -244 с.
6. ПАНТЕЛЕЕВ А.В. Применение эволюционных методов глобальной оптимизации в задачах оптимального управления детерминированными системами. - М.: Изд-во МАИ, 2013. - 160 с.
7. ФЕДОРЕНКО Р.П. Приближенное решение задач оптимального управления. - М.: Наука, 1978. - 488 с.
8. ШАРЫЙ С.П. Конечномерный интервальный анализ. -Новосибирск: XYZ, 2010. - 606 с.
9. FLOUDAS C.A., PARDALOS P.M. Encyclopedia of Optimization. - London: Springer, 2009. - 4626 p.
10. JAULIN L., KIEFFER M., DIDRIT O., et al. Applied interval analysis. - London: Springer-Verlag, 2001. - 391 p.
11. HANSEN E. Global optimization using interval analysis. - New York: Marcel Dekker, 2004. - 492 p.
12. MICHALEWICZ Z., FOGEL D. How to solve it: Modern Heuristics. - London: Springer, 2004. - 554 p.
13. MOORE R.E. Interval analysis. - Englewood Cliffs: Prentice Hall, 1966. - 145 p.
14. MOORE R.E. Methods and applications of interval analysis. -Philadelphia: SIAM, 1979. - 152 p.
15. RATSCHEK H., ROKNE J. New computer methods for global optimization. - Chichester: Horwood, 1988. - 236 p.
16. SHARY S.P. A surprising approach in interval global optimization // Reliable Computing. - 2001. - P. 497-505.
17. SHARY S.P. Randomized algorithms in interval global optimization // Numerical Analysis and Applications. - 2008. -Vol. 1. - P. 376-389.
18. TEWARI A. Advanced control of aircraft, spacecraft and rockets. - New York: A John Wiley & Sons, 2011. - 390 p.
DEVELOPMENT OF METAHEURISTIC INTERVAL MINIMIZATION METHODS FOR THE OPTIMAL PROGRAM CONTROL SYNTHESIS
Andrei Panteleev, Moscow Aviation Institute, Moscow, Doctor of Science, professor (avpanteleev@inbox.ru).
Valentin Panovskiy, Moscow Aviation Institute, Moscow, postgraduate student (panovskiy.v@yandex.ru).
Abstract: We propose metaheuristic interval methods of global constrained optimization and their software implementation. Three methods are considered: average path ending, stochastic grid and interval scatter search. The methods are applied to the problem of optimal program control of nonlinear deterministic discrete and continuous systems. The solution of the applied problem of 3-dimensional interception and a brief comparative analysis of the effectiveness are given.
Keywords: interval methods, metaheuristic, global constrained optimization, optimal control.
Статья представлена к публикации членом редакционной коллегии П.С. Щербаковым.
Поступила в редакцию 29.10.2015.
Опубликована 31.03.2016.