Методы оптимизации и программная система для решения прикладных задач оптимального управления

БИБЛИОГРАФИЯ

1. Филиппов, А.Ф. Дифференциальные уравнения с разрывной правой частью / А.Ф. Филиппов. - М.: Наука, 1985. - 223 с.

2. Айзерман, М.А. Основы теории разрывных систем. I, II / М.А. Айзерман, Е.С. Пятницкий // Автоматика и телемеханика. - 1974. -№ 7. - С. 33-47; № 8. - С. 39-61.

3. Сурков, А.В. О стабилизации управляемых систем с запаздыванием с использованием инвариантно дифференцируемых функционалов Ляпунова / А.В. Сурков, И.А. Финогенко // Методы оптимизации и их приложения: Тр. XII Байкальской междунар. школы-семинара. - 2005. - С. 195-200.

4. Сурков, А.В. Об устойчивости функционально-дифференциальных влючений с использованием инвариантно дифференцируе-

мых функционалов Ляпунова / А. В. Сурков // Дифференциальные уравнения. - 2007. - Т. 43, № 8. - С. 1055-1063.

5. Зубов, В.И. Теория уравнения управляемого движения / В.И. Зубов. - Л.: Изд-во Ленинградского ун-та, 1980. - 287 с.

6. Ким, А.В. I-Гладкий анализ и функционально дифференциальные уравнения / А.В. Ким. -Екатеринбург: УрО РАН, 1996. - 234 с.

7. Обен, Ж.-П. Прикладной нелинейный анализ / Ж.-П. Обен, И. Экланд. - М.: Мир, 1988. -512 с.

8. Борисович, Ю.Г. Введение в теорию многозначных отображений и дифференциальных включений / Ю.Г. Борисович, Б.Д. Гельман, А.Д. Мышкис, В.В. Обуховский. - М.: КомКнига, 2005. -216 с.

Тятюшкин А.И., Моржин О.В.

УДК 517.977

МЕТОДЫ ОПТИМИЗАЦИИ И ПРОГРАММНАЯ СИСТЕМА ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ

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

классов задач оптимизации, например, в методах линейного программирования.

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

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ ДИНАМИКИ И УПРАВЛЕНИЯ

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

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

х = /

х(г) е Еп, и (г) е Ег, г е Т = [г0, г1],

я е Яу, V е Яп.

На правом конце траектории и в процессе движения по ней зададим ограничения типа равенств

Ц

Управление и параметры подчиним двухсторонним ограничениям:

ин

Vй < V < vв, wн < я < яв,

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

Требуется среди управлений и параметров, удовлетворяющих ограничениям (4)-(5), найти такие, которые обеспечивают выполнение условий (3) для управляемого процесса (1) и приводят его в точку фазового пространства, где с заданной точностью будут выполнены условия (2) и функционал

I о(и) = ^( х(г1)) достигнет наименьшего значения.

2. Структура программной системы.

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

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

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

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

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

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

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

г0 = г0 < г1 <... < гы = г1.

Управляющие функции и1 (г), 1 = 1, г, ищутся пакетом только в узлах (6), а для получения промежуточных значений и1 (г), г = 1, г, используется либо кусочно-постоянная и1 (г) = = и' (г1) = и'., г е [г1, г1+1 ], либо кусочно-линейная

аппроксимация

u' (t) =

(t1+l -1)u . + (t -11 )u

j+1

j -11

г е [г1г1+1].

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

х = /(х,и,г), х(г0) = ©(у), г е Т,

Иг (х(гм)) = 0, г = 1т,

gt (x(tj), t1) = 0, i = 1, s , j = 0, N, vH < v < vB , wH < w < wB ,

<p

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

4. Метод приведенного градиента. Ли -

неаризация ограничений. Расчет якобиа-на. Линеаризуем ограничения (8) в аппроксимирующей задаче. Матрицу-якобиан линеаризованных ограничений составим из градиентов VI:,

i = 1, m , и WJj (t) , j = 1, s , t e T , вычисленных

по традиционной схеме [2] через решения сопряженных систем. Так как правые части и начальные условия системы (1) зависят еще и от параметров, то необходимо иметь также градиенты функционалов ^, i = 1, m, и Jj (t), j = 1, s , t e T , по этим параметрам:

VvIi (uk, wk, vk ) = -^'(to)0v (vk ),

V wI' (uk, wk, vk ) =

t1 _

: - J (t)fw (xk, uk, wk, t)dt, i = 1, m,

h

V J (uk, wk, vk, t1) = =-/Ф: (t )fw (xk, uk, wk, t )dt,

to

VvJ' (uk,wk,vk,tj) = -Ф'(to)0(vk),

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ ДИНАМИКИ И УПРАВЛЕНИЯ

N

1к + 1Уи1к (г1 )'(и] - и)) +

1=0

+V К1к (г1)'(я - як ) +

(г1) ' (V - /) = 0,

•к + 1 1у (г' )'(и - и)) +

'=00

+ V • (г1 )'(я - як) +

' = 1, 1 = 1, N , где (г) и Ф' (г) - соответствующие решения

сопряженных систем.

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

1 = 1, N. Для расчета градиентов по управлению VuIi, I = 1, т , сопряженная система т раз интегрируется от г1 до г0 с разными начальными условиями. Попутно вычисляются градиенты (9) с использованием квадратурных формул для расчета интегралов.

Далее ищутся градиенты функционалов

•' (г1), ] = 1, N, ' = 1,5 . При этом 5 раз решается задача Коши для каждого узла сетки (6) (всего sN раз). Из полученных значений градиентов по управлению и вычисленных по формулам (9)-(11) градиентов по параметрам составляется матрица коэффициентов линеаризованных ограничений специальной блочной структуры.

Теперь с помощью вычисленных градиентов линеаризуем ограничения (2)-(3) на -м приближении:

+ Р [к( х(гм)) - кЬ ][к(х(гм)) - кЬ ]--1$ [g(х(г1),г1)-ьЬ]+

1=0

1Ь (х(г;), г1) - ЬЬ ] '

1=0

X

[ь (х(г1), г1) - ьЬ ]

где

кЬ = к( хк (гN)) +

+ кх (хк (г*))(х(г~) - хк (г*)) , ЬЬ = Ь (хк (г1), г1) + + Ьх (хк (г1), г1)(х(г1) - хк (г1)) ,

1 = 0, N.

Минимизация функции (14) при линейных ограничениях (12)-(13) является вспомогательной задачей, которая решается на каждом шаге метода спроектированного лагранжиана. Для решения вспомогательной задачи применяется метод приведенного градиента [3], который является обобщением симплекс-метода на случай нелинейной целевой функции.

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

1. С заданным управлением и), 1 = 0, N, интегрируется система (1) и в узлах сетки (6) запоминаются точки фазовой траектории х 1 ,

+ VVIk (г1) '(V - V1'' )]= 0, 1 = 0, N.

Следовательно, имеем т ограничений (12) и (N +1)5 ограничений (13), которые представляют собой явную форму (через и, Я, V) линеаризованных (к1, ) ограничений (2)-(3), причем вместо

равенств (3), заданных для каждого момента г е Т , имеем N равенств, определенных в узлах сетки (6). Прямые ограничения на управление и параметры оставим без изменений.

Далее для конечномерной задачи (8) сконструируем модифицированную функцию Лагранжа следующего вида:

Ь = р(хN ) - Лк [к(х(г" )) - кЬ ]+

1 = 0, N. Здесь к - номер итерации (первый раз к = 0). На полученном решении рассчитаем линеаризованные ограничения вида (12)-(13) и затем сконструируем вспомогательную задачу (12)-

(14).

2. Методом приведенного градиента решается вспомогательная задача минимизации модифицированной функции Лагранжа (14) при линейных ограничениях (12)-(13). В результате будут найдены новые приближения: для управления ик+1,

Од т к+1 к+1

, N , параметров я и V , а также для

двойственных переменных и

Л

к+1 ,,к+1 и :

1 = 0, N .

3. Проверяется критерий окончания итерационного процесса, как по прямым, так и по двойственным переменным. При нарушении хотя бы

х

иркутским государственный университет путей сообщения

одного из критериев выполняется новая (к + 1) -я итерация с п. 1. Если для заданного г > 0 критерий окончания итерационного процесса выполнен,

~ „ к+1 • Т7 к+1 к+1

то найденные при этом и . , ] = 0, N , я и V

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

Заключение. Рассматриваемая в данной статье вычислительная технология применялась при решении ряда прикладных задач оптимального управления:

- в расчетах предельных режимов работы систем электроэнергетики,

- в расчетах управлений (на математических моделях) для ориентации и стабилизации движения космических аппаратов [3],

- для различных целей управления ракетами класса «воздух-воздух» [4].

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

Штта

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

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

Работа первого автора выполнена при финансовой поддержке программы Президента РФ «Государственная поддержка ведущих научных школ» (проект НШ-1676.2008.1), второго - РФФИ (проекты 08-01-00945-а, 09-01-90203-Монг-а), РГНФ (проект 09-02-00493-а) и Бурятского госуниверситета (грант молодым ученым, 2008 -2009).

БИБЛИОГРАФИЯ

1. Тятюшкин, А.И. ППП КОНУС для оптимизации непрерывных управляемых систем / А.И. Тятюшкин // Пакеты прикладных программ: Опыт использования. - М.: Наука, 1989. - С. 63-83.

2. Тятюшкин, А.И. Численные методы решения задач оптимального управления с ограничениями на фазовые координаты / А.И. Тятюш-кин // Известия РАН. Теория и системы управления. - 1998. - № 2. - С. 127-133.

3. Тятюшкин, А. И. Численные методы и программные средства оптимизации управляемых систем / А.И. Тятюшкин. - Новосибирск: Наука, 1992. - 193 с.

4. Тятюшкин, А. И. Многометодная технология оптимизации управляемых систем / А.И. Тятюшкин. - Новосибирск: Наука, 2006. -343 с.

5. Моржин, О.В. Алгоритмы метода сечений и программные средства для построения множеств достижимости нелинейных управляемых систем / О.В. Моржин, А.И. Тятюшкин // Известия РАН. Теория и системы управления. -2008. - № 1. - С. 5-11.

6. Тятюшкин, А.И. Алгоритм численного синтеза оптимального управления / А.И. Тятюшкин, О.В. Моржин // Автоматика и телемеханика. -2008. - Т. 59, № 4. - С. 109-118.