научная статья по теме ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ УПРАВЛЕНИЯ В ЛИНЕЙНЫХ СИСТЕМАХ Математика

Текст научной статьи на тему «ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ УПРАВЛЕНИЯ В ЛИНЕЙНЫХ СИСТЕМАХ»

ЖУРНАЛ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ, 2015, том 55, № 5, с. 742-757

УДК 519.626

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

© 2015 г. А. И. Тятюшкин

(664033 Иркутск, ул. Лермонтова, 134, Институт динамики систем и теории управления СО РАН)

e-mail: tjat@icc.ru Поступила в редакцию 18.02.2014 г.

Переработанный вариант 20.11.2014 г.

Рассматриваются численные методы решения задач оптимального управления в линейных системах: задачи терминального управления с ограничениями на управление и на фазовые координаты, задача оптимального быстродействия. Для решения этих задач предлагается набор алгоритмов, обладающих различными требованиями к памяти и ориентированных на поиск оптимального управления в линейных системах с некоторыми особенностями, например, когда множество достижимости системы имеет плоские грани. Библ. 15. Фиг. 2. Табл. 2.

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

DOI: 10.7868/S0044466915050166

ВВЕДЕНИЕ

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

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

Для решения важной в инженерной практике задачи быстродействия описывается алгоритмическое обеспечение, основанное на математических методах (см. [1]—[5]) и позволяющее реализовать многометодную технологию (см. [6], [7]) поиска оптимального управления.

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

1. РЕШЕНИЕ ЗАДАЧ ТЕРМИНАЛЬНОГО УПРАВЛЕНИЯ

Будем исследовать задачи оптимального управления в линейных системах вида

х = Л(>)х + В( >) и(>) +/(>), х(>0) = х0, (1)

где х(^ е Rn, u(t) е Rr, A(t), B(t), f (t) — п х п-, п х г-, п х 1-матрицы с кусочно-непрерывными элементами.

В теории линейных управляемых систем значительную роль играет переходная матрица Ф(^ т) (см. [1]), называемая также матрицей Грина. Она удовлетворяет следующему матричному дифференциальному уравнению:

аф(>,т) = -Ф(>,т)Л(т), Ф(>, >) = Е. (2)

ат

С помощью этой матрицы решение системы (1) записывается по формуле Коши

>

х(>) = Ф(>, >0)х0 + |ф(>,т)[В(т)и(т) + /(т)]ат.

>0

Введя обозначение

>1

с = Ф(>1, >0)х° + ]Ф(>1, т)/(т)ат,

>0

'0

вектор состояния в момент t = t1 представим в виде

>1

+

>0

х(>1) = с + |ф(>1, т)В(т)и(т)ат.

Заметим, что вектор с является состоянием системы (1) в момент t = t1, в которое она переводится с помощью нулевого управления = 0).

Множество конечных состояний x(t1), соответствующее заданному классу допустимых управлений, называется множеством достижимости системы (1).

Пусть задан некоторый вектор xТ е Rn. Поставим вопрос о существовании управления, переводящего систему (1) в заданное состояние xТ. Ответ на данный вопрос дает следующий критерий управляемости Калмана (см. [2]): для системы (1) тогда и только тогда существует управление которое переводит систему из состояния x0 при t = ^ в состояние xТпри t1 > когда вектор xТ — с принадлежит области значений линейного преобразования

Ж = |ф( >1,т) В (т) В' (т)Ф' (>1,т) ат.

Для вычисления матрицы W по квадратурным формулам необходимо интегрировать в обратном времени уравнение (2). Вместо расчета по квадратурным формулам можно совместно с (2) интегрировать дополнительное матричное уравнение

а ¥(> 1, т) = Ф(>1, т)В(т)В'(т)Ф'(>1, т), ¥(>1, >1) = 0. ат

Тогда при t = ^ будем иметь W = —V(t1,

Менее трудоемкий способ вычисления матрицы W приведен в [1] и заключается в решении матричного уравнения

а ¥(т) = Л(т) ¥(т) + ¥(т)Л(т)' + В(т)В(т)', ¥(>0) = 0, (3)

ат

интегрирование которого от ^ до ^ дает матрицу W = V(t1).

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

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

Рассмотрим алгоритмы, на основе которых строится многометодная технология, применяемая программными системами (см. [6]) для численного решения задач терминального управления.

1.1. Минимизация выпуклой функции конечного состояния

Пусть на правых концах траекторий системы (1) определена непрерывно дифференцируемая выпуклая скалярная функция ф(х(^)) и поставлена задача

ф(х(ti)) —- min. (4)

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

точку хТ = arg min ф(х), а затем вычислим управление, с минимальной энергией переводящее сих е Rn

стему (1) из х0 в хТ, или установим отсутствие такого управления в случае неуправляемости системы (см. [5]).

Более распространенный подход к решению задачи (1), (4) состоит в применении градиентных методов

uk +t) = u (t) + akB'(t)yk(t), k = 0, 1, ..., где y(t) — решение задачи Коши

у (t) = -A'( tM t), у( ti) = -Уф( x (11)), (5)

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

Опишем вычислительную технологию решения задачи (1), (4) с ограничениями на управление

ау(1) < Uj(t) < ßj(t), j = lTr, t e [to, ti], (6)

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

Решением линейной вспомогательной задачи Уф(хк(?1))'х —»- min, определяемой на каждом шаге метода, будет управление

k Га,-(t), b,(t)>k(t)< 0,

Uk(t) = \ jW jV 7 V V 7 _ (7)

lßj(t), bj(t)>k(t)> 0, j = 1, r,

где yk(t) — решение задачи Коши (5) при y(t1) = — Уф(хк(?1)). Итерация метода условного градиента описывается формулами

uk +1 (t) = u (t) + аk[Uk(t) - uk(t)],

(8)

ak = arg max ф(х (t1) + а[Х (t1) -x (t1)]).

0 <а< 1

Для получения точек xk(t1) и х необходимо интегрировать систему (1) при управлениях ик(^ и ик (0. Используя покоординатное представление точки x(t1):

>1

х(>1) = с1 + (>) 'В(>) и(>) й>, I = 1, п,

>0

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

уХ^) = е1, I = 1, п , с помощью этих решений посчитать и запомнить в узлах интегрирования строки я х я-матрицы M(t), равные уi(t)'B(t), I = 1, п . Проинтегрировав систему (1) при и(1) = 0, вычислить вектор с.

Пусть теперь задано допустимое управление ик(1). Тогда итерация (8) состоит из следующих операций:

1) решается задача Коши хк = М(()ик(1), х^) = с, в результате чего находится вектор х^);

2) решается задача Коши (5) и по формулам (7) вычисляется управление ик (0;

3) решается задача Коши хк = М(1) ик (0, хк = с, после чего будем иметь хк (^);

4) решается задача одномерного поиска

ф(хк(>1) + а[х(>1) -х (>1)]) —»- шт ,

0 <а< 1

по формуле (8) строится новое приближение.

Начиная со второй итерации операцию 1) можно не выполнять, так как значение X + будет найдено при выполнении операции 4). Однако в целях сохранения устойчивости процесса вектор X +1(t1) через определенное число итераций следует получить с помощью операции 1). Итерационный процесс (8) прекращается при выполнении неравенства

Ф(/(>1)) - ф(хк(>1) + ак[хк(>1) -х(>1)]) < 6 или необходимого условия оптимальности

>1

-|В'(>)ук(>)[ик(>) - ик(>)]й> < б1,

>0

где — решение задачи Коши (5). Значение левой части второго неравенства удобно находить при выполнении операции 2). Значения 6 и б1 определяют точность решения задачи (1), (5), (6) и должны задаваться с учетом погрешностей счета величин, ст

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком